This disclosure relates to a method and charging system for facilitating interim billing for an internet protocol (IP) multimedia subsystem (IMS) session. For example, this disclosure describes exemplary embodiments of a charging system with charging data subsystems that release time-based partial charging data records (CDRs) for each IMS network element (NE) serving an IMS session based on time-based interim accounting messages and an interim processing trigger. As disclosed herein, the interim processing trigger may be a function of message sequence numbers (e.g., accounting record numbers) extracted from the time-based interim accounting messages, a message interval value (e.g., accounting-interim-interval (AII) value), and an interim processing threshold (e.g., partial record closing threshold). The charging data subsystems may aggregate the partial CDRs for each NE in conjunction with the interim processing trigger. Similarly, charging gateway subsystems may correlate the aggregated partial CDRs for the IMS session in conjunction with the interim processing trigger. If charging data subsystems develop fault conditions, the process continues in synchronous fashion using the interim processing trigger in conjunction with alternate peer charging data subsystems.
By way of background, the correlation of CDRs in IMS networks using a charging collection function (CCF) is typically initiated when the session ends. Thus, closing and correlating CDRs is not handled well for long duration calls (LDCs) (i.e., IMS sessions). LDC is a term that connotes both voice calls and/or data sessions. LDCs present a problem to billing systems (BSs) and service providers because a data session may be active for a long period of time. For example, for always-on devices in particular, a data session may stretch across several days. In such cases, the BS may not be able to get CDRs (or bill for the session) until after the data session is finished. This poses a revenue recognition issue if the session crosses a billing cycle (e.g., month) boundary because the session would not be billed to the subscriber until the billing cycle in which the session ended. In addition, a failure of the CCF may preclude the CDR from being submitted to the billing mediation at all which would result in revenue leakage.
One solution to the above problem is disclosed in U.S. patent application Ser. No. 12/418,206, filed Apr. 3, 2009, and provides interim billing for sessions in IMS networks. The entire contents of the '206 application are incorporated herein by reference. The process for interim billing in the '206 application includes: i) automatic session demarcation via triggering aggregation, ii) automatic initiation of correlation, iii) generation of a correlated CDR for part of the session, iv) shipping the CDR to the BS, and v) continuing with the session-related charging until the next interval (or the session completion—whichever occurs next). This provides for a mechanism to let the CCF parcel off interim CDRs, aggregate and correlate the interim CDRs and send them to the BS for partial session accounting. Session demarcation is handled at each CCF. However, an improved mechanism for handling these situations would be desirable.
Another related process is disclosed in PCT Patent Application No. PCT/US2009/040197, filed Apr. 10, 2009, and provides distributive correlation of charging records across network domains. The entire contents of the '40197 PCT application are incorporated herein by reference.
These existing techniques for billing functions for IMS services may work well for sunny-day scenarios. However, improved techniques that are fault-tolerant would be desirable. For example, existing techniques break down for failovers induced by CCF overloads and for CCF failures. This is because LDC timers are maintained locally on each server specific to each session. A session-handover in case of a CCF failure or overload passes the session to a new CCF, which is typically not cognizant of the duration of the ongoing session, or when the last LDC interval arrived on the previous server for the session. LDC boundaries are not respected for handed-off sessions and the expected aggregated/correlated CDR is not produced at the expected interval.
To illustrate this point, assume there are two charging trigger functions (CTFs) and three CCFs in a network. The two CTFs are an application server (AS) and a serving call session control function (S-CSCF) and the CCFs are numbered CCF1 through CCF3. Further, assume a value of ‘t’ as 15 minutes and the operator chooses a value of 6 hours (H) for ‘T’. In other words, ‘T’ is 24 times ‘t’. As the call or session is set up, both CTFs start sending accounting requests (ACRs) to the CCFs. For example, assume that AS sends ACRs to CCF1 and S-CSCF sends ACRs to CCF3. In the normal run (i.e., in the absence of any outages), both CCF1 and CCF3 initiate a count-down timer with a value of 6 H for the session and initiate an aggregation and correlation every 6 H. However, when any CCF develops a problem (e.g., overload, out-of-service (OOS), network connectivity issue, etc.), the scenario changes as shown in the FIG. 1.
With reference to FIG. 1, upon a session start at 1 H, CCF1 and CCF3 start the LDC timer (e.g., 6 H). CCF1 fails at 2 H. In the worst case, AS gets no accounting answer (ACA) for its ACR driven by AII timer for 2-3 successive attempts. AS executes a failover to CCF2. CCF2 gets the first ACR at, e.g., 2:20 with a timestamp of 2:05. CCF2 initiates an LDC timer for 6 H from 2:05. At 7 H, the LDC timer at CCF3 fires. However, AS data from 1 H to 2 H is not available (CCF1 is OOS) and CCF2 LDC has not yet counted down to zero. CCF3 starts another LDC timer for the session. At 8:05, the LDC timer at CCF2 fires. However, at this time, the S-CSCF timer is still counting down. This out-of-sync behavior continues until the end of the session.
To re-synchronize out-of-sync CCFs, the previous techniques could use inter-CCF communication for each of the ongoing sessions for “trigger distribution” to induce time-related aggregation and correlation commencement on the servers. However, inter-CCF communication is a performance impediment for the CCF servers because, at any time, there can be thousands of sessions in progress and inter-CCF communication takes the form of M*N messages, where M denotes number of ongoing sessions and N denotes the number of CCF servers. It is not desirable to incur the overhead of the large amount of messaging involved because the processing of these administrative messages impacts the performance throughput of the CCF adversely.
Moreover, maintenance of the LDC timer is a CCF responsibility. This means that each CCF has to start an LDC timer for each of the ongoing sessions that it receives accounting messages. Given the extreme processing load in today's data networks supporting flow-based bearer charging, as in evolved high rate packet data (eHRPD) and long term evolution (LTE) networks, this additional processing requirement on the CCF takes away valuable central processing unit (CPU) cycles and thereby adversely affects system throughput measured in transactions per second (TPS).
Based on the foregoing, a charging system that simplifies processing overhead for generation, aggregation, and correlation of partial charging records in relation to interim billing of IMS sessions is desirable. Additionally, a charging system that is fault tolerant for at least charging data subsystem fault conditions is desirable.